package com.qiyu.mall.user.interfaces.service;

import com.qiyu.mall.user.interfaces.dto.LoginDTO;
import com.qiyu.mall.user.interfaces.dto.MiniProgramLoginDTO;
import com.qiyu.mall.user.interfaces.dto.WorkerDTO;

/**
 * 权限认证服务
 *
 * @author linhao
 * @date 2019/7/18
 * @Version V1.0
 */
public interface AuthService {


    /**
     * 员工token
     *
     * @param workerToken
     * @return
     */
    WorkerDTO getWorker(String workerToken);

    /**
     * 获取微信服务器的响应
     *
     * @param code
     */
    MiniProgramLoginDTO getWx3rdResponse(String code);


    /**
     * 创建token
     *
     * @param openId
     * @param accountId
     * @param sessionKey
     * @return
     */
    String createToken(String openId, Integer accountId, String sessionKey);


    /**
     * 从token里面提取openid
     *
     * @param token
     * @return
     */
    String getOpenIdFromToken(String token);

    /**
     * 从token里面提取sessionKey
     *
     * @param token
     * @return
     */
    String getSessionKeyFromToken(String token);

    /**
     * 判断token是否合法
     *
     * @param token
     * @return
     */
    LoginDTO checkToken(String token);
}
